package com.sqx.modules.errand.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sqx.common.utils.Result;
import com.sqx.modules.errand.entity.Indent;
import com.sqx.modules.errand.entity.TrainingCenter;
import com.sqx.modules.errand.vo.IndentVo;
import com.sqx.modules.pay.entity.PayDetails;

public interface AdminService extends IService<Indent> {

    Result findDataCenter();

    Result taskAnalysis(String dateType, String date, Integer page, Integer limit, String indentState, Long cityId);

    Result findUserMessage(Long userId);

    Result findUserAddIndent(Long userId, Integer page, Integer limit);

    Result findUserReceivingIndent(Long userId, Integer page, Integer limit);

    Result findTopUpMoney(Integer page, Integer limit, PayDetails payDetails, String startTime, String endTime);

    Result findWithdrawMoney(Long userId, Integer page, Integer limit);

    IPage<IndentVo> findAllIndent(Integer page, Integer limit, String date, String dateType, IndentVo indentVo);

    Result findCertification(Long userId);

    Result updateState(Long userId, Integer status);

    Result findAllUser(Integer page, Integer limit, String phone, Integer userType, String platform, String nickName, String invitationCode,
                       Integer isAgent, Integer onLineFlag,String inviterCode);

    Result checkCertification(Long userId, String checkCertification, String checkCertificationMessage);

    Result findAllCertification(Integer page,Integer limit,String nickName,String phone, String checkCertification);

 //   Result findAllAppeal(Complaint complaint);

  //  Result updateComplaintState(Complaint complaint);

    Result updateIndentState(String indentNumber, String indentState);

    Result updateNewRedPacket(double redPacketAmount, Integer count);

    Result IndentCenter(Integer page, Integer limit, String indentType, String indentNumber, String indentState, String phone, String date, String dateType, String startTime, String endTime,String parentName,String parentParentName);


    Result adminSoldOutIndent(String indentNumber);

    Result adminTrainingCenter(Integer page, Integer limit, String title,Integer type);

    Result updateAdminTrainingCenter( TrainingCenter trainingCenter);

    Result addAdminTrainingCenter(TrainingCenter trainingCenter);

    Result findUserMoneyDetails(Long userId, Integer page, Integer limit);

    Result findplatformMoney(String dateType, String date);

    Result findIncome(Long userId, String date, String dateType, Integer page, Integer limit);

    Result selectUserFeedback(String userEmail, Integer page, Integer limit,Integer feedType);

    Result selectUserStatistics(String date, String dateType);

    Result TrainingCenter(Long id);

    Result selectOrderByStatus(String date, String dateType, Long cityId);

    Result selectCashDeposit(String phone, Integer type, Integer page, Integer limit, Long userId);

    IPage<Indent> findWaitIndent(Long userId, Integer page, Integer limit);
}
